perm filename DIRED.DON[UP,DOC]13 blob
sn#686482 filedate 1982-09-02 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00032 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00005 00002 Throughout this documentation, unless otherwise stated, these mappings apply:
C00007 00003 How to use DIRED to read this documentation
C00009 00004 New features and/or bugfixes, in reverse chronological order
C00044 00005 Quick summary of all commands (sorted by "Stanford Ascii") see also page 32.
C00046 00006 General information about DIRED (type 7? for general info on using DIRED)
C00048 00007 General information on using DIRED
C00050 00008 Interpreting the display
C00056 00009 Command-line syntax
C00059 00010 Command-line switches
C00065 00011 DIRED's use of OPTION.TXT and macros
C00077 00012 Window/cursor-moving commands
C00079 00013 Page-changing commands
C00083 00014 Directory-editing commands (apply to SINGLE FILE by default see page 15)
C00089 00015 Numeric arguments to αβD, etc.
C00093 00016 File-displaying/editing commands
C00100 00017 Wildcard file specifications
C00102 00018 File masks and invisible files
C00107 00019 Visibility-related commands (see page 18 for a discussion of invisibility)
C00112 00020 Mask-changing command (see page 18 for a discussion of invisibility)
C00115 00021 Sort command (S)
C00117 00022 Sort/info keys (+/- = ascending/descending sort or add/omit info field)
C00121 00023 String-search commands
C00124 00024 Exiting and doing actions
C00130 00025 Miscellaneous commands
C00133 00026 Extended commands (entered via the X or / command)
C00136 00027 Extended directory-editing and file-displaying commands (see pages 14 and 16)
C00141 00028 Extended forms of miscellaneous one-character commands
C00145 00029 Miscellaneous extended commands (see also non-display commands on page 30)
C00150 00030 Extended non-display commands (here "TTY" is used to mean any non-display)
C00154 00031 The following features are not yet implemented, but probably will be some day.
C00155 00032 This page is rather time-consuming when displayed using DIRED's ? command. It
C00181 ENDMK
C⊗;
Throughout this documentation, unless otherwise stated, these mappings apply:
α = <control> β = <meta> ⊗ = either <control> or <control><meta>
# = any unsigned decimal number or ∞ (in "⊗#" the ⊗ applies to every digit)
For a brief summary of commands useful perusing this documentation, type ⊗3⊗?.
Type: For information on: Type: For information on:
⊗4⊗? Most recent new features ⊗1⊗7⊗? Wildcard file names
⊗5⊗? Quick summary of all commands ⊗1⊗8⊗? File masks & invisible files
⊗6⊗? What DIRED's all about ⊗1⊗9⊗? Visibility-related commands
⊗8⊗? Interpreting the display ⊗2⊗0⊗? Mask-changing command (αβM)
⊗9⊗? Command-line syntax ⊗2⊗1⊗? Sort command (⊗S)
⊗1⊗0⊗? Command-line switches ⊗2⊗2⊗? Sort/info keys
⊗1⊗1⊗? DIRED's use of OPTION.TXT/macros ⊗2⊗3⊗? String-search commands
⊗1⊗2⊗? Window/cursor-moving commands ⊗2⊗4⊗? Exiting and doing actions
⊗1⊗3⊗? Page-changing commands ⊗2⊗5⊗? Miscellaneous other commands
⊗1⊗4⊗? Directory-editing commands ⊗2⊗6⊗? Extended commands
⊗1⊗5⊗? Numeric arguments to αβD, etc. ⊗3⊗1⊗? Coming attractions
⊗1⊗6⊗? File-displaying/editing commands ⊗3⊗2⊗? Absolutely everything
Type αH to get back to the regular display.
How to use DIRED to read this documentation
If you are on a non-display, the first 10 lines of a page will be typed each
time you go to a new page. To see the rest of the page, type ∞X TYPE <cr>.
(Leaving off the "∞" will give you 10-line chunks.) Commands for use on
non-displays are summarised on page 30. "P" takes you to the next page,
"#?" to the #th page of the documentation.
For display users, the ⊗#⊗? command (described in more detail on page 16) shows
the #th page of this file. Often the entire page won't fit on your screen; the
command <ff> (↑L on Datamedias) can be used to see successive "windows" of the
text. The command <vt> goes back to the previous window; ⊗L goes to the top of
the page. Complete documentation on these and related commands may be found on
page 12, but these few should suffice to get you started. Also, once you are
looking at a page of the documentation, the command ⊗P moves you to the next.
The command αH (on non-displays, H) "homes" you back to the directory display.
New features and/or bugfixes, in reverse chronological order
∂21 May 82 -- Dover spooling, better DM updating, macros, and more!
* It is now possible to spool files to the Dover as well as to the XGP and LPT.
Files spooled to the Dover are put on the "P" page (for Press; D was already
being used), analogous to the X and L pages. The command for Pressing a file
is ⊗} ("}" is <top>P on Stanford keyboards), with extended forms PRESS and
DOVER. Fonts and interline spacing specified via the ⊗X FONT command, which
formerly affected only XGP spooling, now affects both XGP and Dover spooling.
Note that font names and spacing units for the two devices are incompatible;
if you're spooling to both devices, do ⊗. inbetween or avoid ⊗X FONT (thereby
getting the system default fonts and spacing).
* The display routines were overhauled. The most significant changes affect
only DMs, but DD display has improved also. Screen updates are now collected
into a single display program; formerly the header/window/trailer/arrow were
updated individually, and there could be delays in the middle of the update.
Thus the initialisation messages are put up and taken down more quickly, and
you no longer have DD displays where the files listed in the window change
long before the arrow is moved to correspond to the new listing. Further, on
DMs, additional commands can be typed before the display is done updating, and
in many cases -- when the display is about to be nearly completely redrawn
anyway -- DIRED won't bother finishing the previous display and will simply
redraw the screen immediately (as does E). This should make DM directory
editing much faster. Finally, the DM screen is cleared only once at startup
(it used to be cleared once by DIRED and once by the system).
* The rudimentary macro facility formerly provided by the /OPTION=# switch has
been expanded in two ways. First, macros can be executed later in the session
via either the ⊗Y command (to execute macros from OPTION.TXT) or ⊗Z to execute
macros from another file. Second, the /OPTION switch can specify a file other
than OPTION.TXT for macros and other startup switches. To provide this in a
reasonable manner, the syntax of the /OPTION switch has been changed
INCOMPATIBLY. Anyone who uses the /OPTION switch, or who wishes to use the
new macro features, should see the details on page 11.
* New startup switch /UNSORTED causes the files to be listed in the order of
their appearance in their respective directories, with directories ordered
according to the master directory. This mode is useful for debugging programs
that process files in directory order. See page 10 for details and caveats.
* Documentation expanded slightly to include a cross-reference from the initial
switches (such as /PARANOID or /VERIFY) to the commands that change them.
* Bugfix to get "OK" and similar responses to come out on non-displays without
waiting for the next command to be typed (bug introduced by previous display-
related changes).
* Bugfix (previously installed as patch) to make sure initial display gets drawn
when the system DRD command was followed by one or more lines of type-ahead.
* Bugfix (previously installed as patch) to avoid redrawing the arrow on DD's
after each command (used to redraw even if the arrow didn't move).
∂13 Apr 82 -- Screen updated whenever waiting for input; storage reduced
* The screen is now updated whenever DIRED is waiting for input. Previously, it
was updated only when a new command character was needed and there was none
yet available. It was thus possible to have a command request "secondary"
input (such as the extended command after "⊗X" or the file name after "⊗R")
and, if the initial ⊗X or ⊗R or whatever was typed ahead, the screen would not
be updated while you typed in the additional info. Now, however, you can
always see what file it is you're about to do something to.
* DIRED no longer computes the display text for all files in all directories
read. It used to do this during initialisation, because computing all of the
strings at one time is more efficient than computing them piecemeal. However,
most of the strings are never used, particularly if the file mask excludes
some files within the directories. The strings are now computed only when
needed, either for display or in order to update them to reflect changes made
by such commands as Rename or Delete. If you turn out to display all of the
strings anyway, you suffer a small loss of efficiency, but in almost all cases
the new allocate-only-when-needed scheme is a net win.
* As a result of the reduced storage noted above, it is now possible to read in
directories containing a total of about 5900 files as compared to the previous
limit of about 3400. If you get too close to this limit, however, you'll run
out of space for the strings should you try to display very many of the file
entries.
* The "working" message no longer comes out after you hit CALL to stop whatever
DIRED is doing. (If you then CONTINUE, it will be printed as usual.)
∂18 Oct 81 -- File sizes shown in blocks; other misc bugfixes and features
* File sizes are now displayed in blocks instead of in words. You can get the
sizes in words using the /WORDS switch at startup, or with the extended
⊗XINFO/WORDS command. The /KMODE (or /K) switch still gives sizes in K-words,
and the /BLOCKS switch restores the default. The column heading reflects the
current mode: Size (blocks), Words, or K-wds.
* The verify-mode confirmation request now specifies the type(s) of operation
requiring confirmation.
* The ⊗O command now requires confirmation before overwriting an existing file.
The confirmation message can be bypassed using the /Q switch.
* DIRED no longer erases or resets a display screen running DIRED via a PTY.
* Bugfix, previously installed as patch, that sometimes caused DIRED to crash
if a file was to be renamed as well as being reaped.
* Bugfix to prevent line overflow in ⊗XNUMBER mode on non-displays.
∂12 Mar 81 -- Minor bugfixes
* Bugfix to handle reap+rename+reprotect when new name is that of a file being
deleted. (Previously failed to do the reap.)
* Bugfix (previously installed as patch) to prevent possible bomb-out when
running action lists that include reap & rename on a single file.
∂5 May 80 -- Minor bugfixes
* The size of a disk track (for computing tracks freed by deletions) is now read
from the new system low-core word ('346). The optimum number of buffers for
disk I/O is likewise picked up from there. This is so that DIRED can work on
CCRMA's version of WAITS, where these values are different.
* Fix to get around system bug that interfered with a single file's being
renamed to another PPN and also having its protection changed.
* Documentation updated to note that files created by ⊗O (or equivalent extended
commands) are added at the bottom of the file list (if they match the current
file mask at all).
∂8 Apr 80 -- New extended HIDE/REAP, αH to exit file-display mode, and more
* The extended HIDE command now accepts a /REAPED switch (at present, /R is
sufficient), that tells it to affect only files that are marked for reaping.
This includes files that were already so marked when you entered DIRED, as
well as files that have been flagged via the extended REAP command. Thus
⊗XHIDE/R hides all files that will (eventually) be reaped, letting you see
what will be left. ⊗XHIDE *.SAI/R (or ⊗XHIDE/R *.SAI) hides all reaped SAIL
files, and so forth. The switch can be negated (/-REAPED) to affect only
non-reaped files (a superset of "unreaped" files!). As with any HIDE command,
the hidden files will reappear the next time you change the file mask.
* By popular demand, αH is now equivalent to ⊗0⊗P when in file-display mode,
restoring the directory display. αβH will not work (it means "Hide" in the
directory-display mode).
* Bugfix to prevent rereading the file and redrawing the entire window when a
⊗#⊗P (or ⊗#⊗∃) command is given that references the current page while in
file-display mode.
* Bugfix to ⊗XREREAD given while in file-display mode.
∂17 Feb 80 -- New command for rereading directory info; other misc bugfixes
* Extended command REREAD has been added. It causes DIRED to throw away all the
data it has read about directories and reread the directories occurring in the
current mask. If there are any actions pending they will be performed, after
confirming that you don't object. REREAD is intended for use in 2 situations:
(1) You've been looking at several directories, a few at a time, and you're
running out of core because all the ones you've looked at are kept in core (as
invisible files) even if no longer included in the mask. REREAD will discard
all this excess data and do a garbage collection. (2) Some other program has
changed the files in a directory (or the protection on one that you tried
unsuccessfully to read) and you want DIRED to reread the directory to get the
new information (or to try again to read the directory, which it will normally
refuse to do after failing once). Note that REREAD takes no argument -- it is
not possible to reread the directory information for a subset of the files.
* Bugfix to prevent reap/unreap from undoing rename on same file.
* Bugfix (previously installed as patch) to ⊗∃ to handle E directories with
blank entries (pages with blank first lines).
* Bugfix (previously installed as patch) to exit code such that ⊗∃ after an
aborted ⊗λ or ⊗ε command no longer results in a fatal I/O error.
∂15 Dec 79 -- File-display commands (⊗∃ and ⊗?) made more efficient
* The file-displaying commands ⊗∃ and ⊗? (and their extended equivalents) now
check for an E directory when you enter file-display mode; if found, it's used
to guide random-access input, so that the portion of the file preceeding the
page you want need not be read as previously. If the file purports to have a
directory (first two lines look right) but the syntax later in the page is
bad, or the ENDMK points to neither EOF nor the beginning of a new page, the
directory is not used and its invalidity is reported. Similarly, if at any
time a record pointer from the directory turns out not to point to the start
of a page, the directory is declared invalid and is discarded. For files
lacking directories, DIRED creates an incore directory as the file is read, so
that page-changing (as long as you stay in file-display mode and don't switch
files) is faster. All directory information is discarded when you switch
files or leave file-display mode. (This obviously doesn't refer to the
"directory" in the sense that DIRED -- directory editor -- usually intends!!)
* To take advantage of the above change, the documentation file now has an E
directory. This of course increases all the page numbers by one; e.g., this
"news" page is now page 4 instead of page 3.
* As in E, a ⊗P command in file-display mode when on the last page of the file
gives an error message and doesn't move the cursor. (Formerly, DIRED would
redraw the current page and put you at the top.) ⊗<ff> in the bottom window
of the last page is now equivalent to unbuckified <ff>, as in E; a similar
change applies to ⊗<vt> near the top of the first page.
∂2 Dec 79 -- Extended FONT command, better error handling for spool requests
* New extended command ⊗XFONT added for specifying font to be used for xspool
requests. Can also specify interline spacing via numeric argument. See page
29 for more details.
* System library spool routine modified to return error indication; error flag
used in DIRED to prevent delete request from going through if spool fails,
and similar fixes for related cases.
∂12 Oct 79 -- Reap and Unreap commands, plus minor mods
* New extended commands ⊗XREAP and ⊗XUNREAP (the latter abbreviatible to UNR)
have been added for tweaking the bit that tells DART to delete a file after
dumping. (See earlier news below for how this bit is normally displayed in
DIRED.) The commands accept a filemask, as in ⊗XREAP FOO*.∃∃∃ or whatever. A
(possibly signed) numeric argument may precede the ⊗X with the usual effect.
If none is present, then only the current (arrow) file is affected unless a
filemask is given, in which case the entire page is affected. That is, ⊗XREAP
will reap one file, ⊗XREAP * will reap all files, ⊗XREAP FOO will reap all
files named FOO, and ⊗9⊗XREAP FOO will reap all files named FOO that are among
the 9 files starting at the current one. Reaps and unreaps are displayed on a
new page called the Harvest page, which comes "after" the Xspool page and
"before" the Normal page for the purposes of the ⊗+⊗P and ⊗-⊗P commands; thus
you can get from the Normal page to the Harvest page and back via ⊗-⊗P and
⊗+⊗P (just as the reverse order will get you to the Delete page and back).
See page 27 for more details.
* On DD's and DM's, the screen is now cleared by explicitly erasing each
appropriate line instead of using a <break>N or <break>P command. This is
probably faster on DM's, since it doesn't require redrawing the wholine, and
it also sidesteps a system bug that occasionally caused a line to vanish upon
exit from DIRED. Anyone observing this bug should report it at once!
* Bugfix to handle internal blanks in file name for ⊗O command.
* Bugfix to insert crlf ahead of "Deletions freed x words" message if error
messages while running the action lists have left the cursor away from the
left margin.
* Documentation file (this file) renamed to DIRED.DON instead of DIRED.?, since
some programs (in particular, E) have trouble with odd characters in file
names. (E was failing to quote the ? with downarrows in its TMPCOR file.)
* Garbage characters (characters other than letters, digits, and atsigns) at
the front of the command line are ignored; thus line noise will not interfere
with parsing the command line as long as the system is willing to recognise
it as a DRD command in the first place.
* Internal change to use more efficient filemask encoding, saving 50%.
* Page 32 (the complete summary intended for spooling) added to table of
contents on page 1.
∂18 Jul 79 -- COUNT and PCT fields, reap status, and more
* New sort/info switches /COUNT, /PCT, and /PERCENT (same as /PCT) for sorting
on and/or displaying the number of days referenced and the percentage of days
referenced, respectively. The data for this has only been maintained by the
system since May 21, 1979; the /PCT field takes this into account.
* Since these two new fields add 8 characters to the displayed line, something
has to give. DataDisc users will note for the first time that the dump date
field is omitted, leaving just the number and type of dumps. (The dump date
can be seen using ⊗XTYPE or by specifying some other field(s) to be omitted.)
On DMs and other terminals with less than 82-character lines, the COUNT field
is omitted by default, since otherwise none of the dump info would fit. It's
suggested that people decide what fields they like to see and set up their
OPTION.TXT files accordingly.
* If a file is marked for reaping, an R will appear in the dump info field,
taking the place of the T or P (if any) that would otherwise appear. The
digit (if any) following the R still indicates the number of times the file
has been permanently dumped. In sorting on the dump field, all files marked
for reaping come after any other files that have been dumped the same number
of times and on the same dates. See page 22 for more info on this and on the
PCT and COUNT fields.
* When the action lists, or any subset of them, are run, the number of words and
tracks freed up by deletions is reported.
* The /TMPCOR startup switch and ⊗XTMPCOR command have been added to provide a
way to suppress updating the DIRED TMPCOR file upon exit.
* Swapping to E in a two-page file (where page 1 is the directory) when no page
has been specified and you were not already in file-display mode, now puts you
on page 2, just like the ETV command would.
* Bugfix to release the i/o channel used for running the action lists.
* Bugfix to determining terminal type for PTYs being run under DMs.
* Bugfix to calculation of PDT from PST at the end of 30-day months.
* Bugfix to error detection when running protection-change actions.
∂20 Apr 79 -- Minor bugfixes
* Bugfix to renaming file to a protected ppn with WRT privilege.
* Bugfix to handle new, taller DataMedias. (Also, DMs too short for even a
four-line window are treated as non-displays.)
∂19 Apr 79 -- Inter-PPN renaming, ∃ for longer pages, and more
* Rename commands (⊗R and ⊗X RENAME) now let you specify a new PPN. The default
is [*,*], i.e., no change. Partial specs are allowed, e.g., ⊗5⊗R[1<cr> would
rename the next 5 files from whatever PPNs they were in to be in the
[1,whatever] area(s) instead. DIRED must be able to read the UFD for the new
PPN in order to check for conflicts. (The files in the newly-read UFD are
"invisible" and thus will appear if you do a ⊗+αβI command.)
* The ⊗∃ and ⊗X EXAMINE commands will now display up to 1000 lines of a page,
instead of just 100. Reading such large pages takes several seconds; caveat
...!
* An extended command ⊗X NEWS has been added; it's equivalent to ⊗3⊗? and thus
displays this page of the documentation, just like the /NEWS startup switch.
* "Running your action lists" message now comes out after verify-mode
confirmation etc., instead of before.
* Bugfix to ⊗X CANCEL given while on an empty Normal page.
* Bugfix to extended INV and DRAW commands.
* Another bugfix to /FOONLY mode output.
∂8 Apr 79 -- /NEWS switch, minor fixes, PPN field moved
* A new switch, /NEWS, is now recognised in the DRD command line. It is the
same as /? in that it causes this documentation to be displayed, but it
displays page 3 (this page, with the news on it) instead of page 1.
* The SYS: device is now recognised specially and converted to DSK: with a
default directory of [1,3].
* Bugfix to /FOONLY mode output.
* Control-return now works after an invalid command line has been bitched about.
* "Running your action lists" message now sent to pp0 as well as pp1.
* The hairiest change in this rev hardly affects users at all: The PPN field has
been moved ahead of the Protection field and is now always displayed. (If you
specify /-PPN in the /INFO keys it will affect ⊗O output and nothing more, as
was already the case for /-PROT.) This is the first step toward handling
inter-PPN renames. The repositioning and related changes had far-reaching
effects in the program, and it's possible that some bugs have eluded testing.
Users are encouraged to watch for strangenesses, especially reproducible ones,
and especially on DataMedias. If no bugs are found, inter-PPN renames will
probably be implemented fairly soon.
∂12 Jan 79 -- Simple ⊗F command, ⊗<ff> and ⊗<vt>, other misc changes
* A fairly simple-minded ⊗F (and ⊗*) command has been implemented. It searches
forward (or backward, if ⊗-⊗F or ⊗-⊗*) for the n-th (default, first) file
which matches a given wildcard specification. See page 23 for details.
* ⊗<ff> and ⊗<vt> now work as in E to go to the next/previous page IF (1) you're
in file-display mode (e.g., via ⊗∃), (2) the bottom/top line is visible in the
current window, and (3) no numeric argument is given.
* The extended TITLES, TRAILER, and HEADER commands now accept /ALL and /FULL
switches like the TYPE command. Default is /FULL on displays and neither on
non-displays. Thus, on non-displays, X TITLES will print just those titles
which fit in the width of the screen, X TITLES/ALL will print titles for all
selected info fields, and X TITLES/FULL will print titles of all info fields,
whether selected for viewing or not. The two switches are equivalent for the
TRAILER command; they cause the entire trailer to be printed (otherwise on
non-displays the trailer will be truncated to the screen width). The switches
have no effect with the HEADER command but are allowed for generality.
* If you switch to E via ⊗ε or ⊗λ while in file-display mode, and don't specify
a page (as via ⊗#⊗ε), then DIRED puts you not only on the page you were last
viewing but also positions you at the same line.
* Bugfix to cyclic Rename commands.
* Bugfix to ⊗ε/⊗λ to transfer to a file which is being Renamed.
* "...working..." message now comes out after 10 seconds (instead of 4) while
in the process of performing action lists. It also should no longer come out
on non-displays in the middle of printing text.
* Bugfix to exit code to allow line-editor commands in typeahead to work.
∂11 Nov 78 -- Miscellaneous minor changes
* Page 3 (this page) of the documentation is now set aside for "news". News
will be added at the front of the page and will be removed eventually from
the bottom.
* The /F switch is now equivalent to /FAST at start-up.
* Bugfix for V command on non-displays.
* Non-display mode now indicates when it reaches end of page.
* Extended NUMBERS command added (same as E's).
* When examining a file (via ⊗∃ or ⊗X EXAMINE), the default page for the
⊗ε and ⊗λ (and, for what it's worth, ⊗∃) is now the page you're on. Thus
⊗ε will switch to E, editing the file on the same page you were examining.
Line and window position are NOT preserved.
Quick summary of all commands (sorted by "Stanford Ascii"); see also page 32.
Page numbers given are for use with the ⊗? command.
Char: Meaning: Char: Meaning: Char: Meaning:
⊗β 14 Xspool ⊗. 24 Do action(s) αβM 20 Alter mask
⊗∧ 12 Go to top / 25 Extended cmnd ⊗O 25 Output page
⊗ε 16 Edit with E ⊗< 12 Up 4 files ⊗P 13 Change pages
⊗π 14 Protect ⊗> 12 Down 4 files ⊗R 14 Rename
⊗λ 16 Edit/READONLY ⊗? 16 Show DIRED.DON ⊗S 21 Sort
<vt> 12 Back a window ⊗B 12 Glitch bottom ⊗T 12 Glitch top
<ff> 12 Down a window ⊗C 14 Cancel action(s) ⊗U 25 Undo
<cr> 12 Down a file αβD 14 Delete ⊗V 25 Redraw
⊗∃ 16 Display file ⊗E 24 Exit ⊗W 12 Down a window
⊗↔ 14 Lspool ⊗F 23 Find ⊗X 25 Extended cmnd
⊗≤ 12 Up 1/2 window αβH 19 Hide ⊗Y 11 Invoke macro
⊗≥ 12 Down 1/2 window ⊗I 19 Invert ⊗Z 11 Read/call macro
⊗∨ 12 Go to bottom ⊗J 12 Jump window ⊗} 14 Press
⊗* 23 Repeat search ⊗L 12 Go to line <bs> 12 Up a file
General information about DIRED (type ⊗7⊗? for general info on using DIRED)
DIRED (DIRectory EDitor) is operationally similar to the text editor, E. It
displays a list of files and lets you modify this display to modify the state of
your files. E.g., deleting a line in the display causes the file to be deleted.
You can also rename, spool, reap, unreap, and change protection on files. Note:
These actions are NOT done as the display is changed; the directory is untouched
until you exit or explicitly run the action lists (see page 24).
The list of files may be sorted on any of various fields (default PPN/Name/Ext).
Where applicable, DIRED's command structure has been modelled after that of E.
If you spot an apparently unintended difference, please report it as a bug in
DIRED (E takes precedence). Report bugs via GRIPE DIRED.
Our thanks go to Stan Kugell for the original idea of a Directory Editor, and to
Martin Frost (of E fame) for helpful implementation suggestions.
General information on using DIRED
Any partially completed command can be aborted by typing <alt>. (This will not
undo any portion of the command already done; e.g., a partially completed ⊗#αβD
command, if aborted, will leave some files still marked for deletion.)
All switches, extended commands, sort keys, etc., may be abbreviated to any
unambiguous prefix. E.g., /QUIET can be abbreviated /Q.
DIRED will object if you attempt an operation which would violate protection on
a file or directory. If you have the necessary privileges, you may use them to
override this objection. The 200-protection bit on a file is a special case;
no privileges are needed to override it. Most of these questions regarding
overriding protection (when possible) can be suppressed via /Q switches.
One last note: Don't under any circumstances alter this documentation file! It
is maintained via another file so that cross-references are done automatically.
Interpreting the display
The information on this page pertains only to the regular DIRED display, not
to the file-display mode invoked by the ⊗∃ and ⊗? commands.
There are 7 "pages" to the DIRED display. Each corresponds to a class of files:
[1] The Normal page lists all files which have not been marked for deletion.
[2] The Delete page lists files which have been so marked.
[3] The Rename page lists files which will be renamed or will have their
protection changed.
[4] The Lspool page lists files marked for spooling on the line printer.
[5] The Xspool page lists files marked for spooling on the XGP.
[6] The Press page lists files marked for spooling on the Dover.
[7] The Harvest page lists files marked for reaping or unreaping.
Note that a file may appear on more than one page.
The top line of the display consists of column headings for the various info
fields. The next line is the "header", and contains:
[1] the "number" (relative to the top of the list) of the top line displayed,
unless it's the first file in the list
[2] the "name" of this page (Normal, Delete, Rename, Lspool, etc.)
[3] /R if in READONLY mode, or /V if in VERIFY mode (see page 10)
[4] the total number of files on this page and their total size
[5] some subset of "N D R L X P H", indicating which pages other than this one
have any files on them; the "R" will be "R?" if there's a "Rename conflict"
(a file renamed to the name of another, or two files identically renamed)
[6] "I" (or "I?") if some invisible files have pending actions (see page 18)
The bottom line is the "trailer", and contains the position of the cursor, the
file mask (see page 9) and the current sort keys (see page 21). (The cursor is
indicated by an arrow on Datadiscs and IIIs and by the blinking underscore on
Datamedias. It will often be referred to as the "arrow" regardless of the type
of terminal you're using.) The trailer may be truncated if it is longer than
will fit on your screen, but the extended TRAILER command, and also the ⊗0αβM
and ⊗0⊗S commands, may be used to see the complete mask and/or sort keys.
Between the header and trailer are lines displaying selected info on files.
The info being displayed is selected by INFO switches at start-up and by the
extended INFO command (see pages 10 and 29). Except for the Reap flag, fields
which are subject to change (currently Name, Extension, PPN, and Protection) are
always displayed. (You may specify /-PPN and/or /-PRO in the INFO command (or
at start-up); the only effect will be to omit the specified field(s) from ⊗O
output files--see page 25.) Note: DIRED will not display more info than will
fit across your screen. If the display is truncated at the right, you can get a
more complete typeout using the extended TYPE command described on page 30.
On the Rename page there are two lines per file: first the "current" (renamed)
info, then the original info. Files slated for deletion are not displayed on
the Normal page; they are included on all other pages as appropriate. Note that
it is perfectly reasonable to have a file on the Rename, Xspool, and Delete
pages simultaneously; DIRED interprets this to mean that the file is to be
spooled under the new name and then deleted.
At the far left is the "DSR" field, interpreted thusly:
"D" column: D if file is to be deleted, r if reaped, u if unreaped.
"S" column: L/X/P if lspooled/xspooled/pressed, 2 or 3 if multiply spooled.
"R" column: R if renamed, ? if renamed to same name as another file, = if not
renamed but another file renamed to this name.
Command-line syntax
To run DIRED, use the system command DRD, followed by any sequence of switches
and filemasks. If you say just "DRD", your TMPCOR file is used to give you the
same switches and mask that you had when you last exited from DIRED while
aliased to the same directory. Switches are described on page 10; each switch
must be preceded by a slash (/). A filemask is any file name and/or extension
and/or PPN, possibly wildcard (see page 17), terminated by a comma (outside the
PPN) or slash or end of line. DIRED reads only entire directories (so it can
check for Rename conflicts), but displays only those files which match one of
the filemasks. If one or more fields are omitted from a filemask, the defaults
are: Name/extension = "*", PPN = your alias. The PPN is "sticky"; i.e., once
you specify a PPN in one filemask, it becomes the default for the next.
As an example, suppose your command line were:
DRD FOO, .BAR/SIZE/DATE X*[*,DOC], Y*./FAST/SIZE/K,ZOT[UP
This displays files FOO.* and *.BAR on your alias area, plus files whose names
start with X (w/ any extension) or Y (w/ null extension) on any documentation
directory, and finally ZOT.*[UP,DOC]. The display is sorted by size (see page
22), equal-size files subsorted by date, due to the /SIZE/DATE switches. You'll
be shown minimal information (/FAST) plus the files' sizes (/SIZE after /FAST)
in K (/K). Note that the date isn't displayed even though it's used in sorting.
DIRED currently will not permit you to display directories from more than one
disk at a time. To specify the disk to be used, you can include a device
(followed by a colon) ahead of the FIRST filemask, e.g., DRD UDP1:[FOO,BAR] .
The default device is DSK. You can change the device later via the αβM command
described on page 20.
Command-line switches
Switch: Meaning ("- = ..." gives meaning if /- is used instead of /)
/BLOCKS File sizes to be displayed in blocks (disk tracks)
/DISPLAY, /INFO Later SORT/INFO switches are to be taken as INFO switches
/F or /FAST Same as /INFO plus /-<all fields> [- = /FULL]
/FULL Same as /INFO plus /<all fields> [- = /FAST]
/HELP or /? Suppress /OPTION= and default filemask (*.*); display this file
/KMODE File sizes to be displayed in K-words
/NEWS Same as /HELP but display "news" page (page 4)
/OPTION Invoke/suppress OPTION.TXT or macros (see page 11 for details)
/PARANOID Never do any actions! (⊗. becomes ⊗X CANCEL) [- = normal state]
/QUIET Don't issue messages about unreadable directories [- = normal]
/R or /READONLY Don't perform ⊗./⊗E which would do Delete/Rename [- = normal]
/SORT SORT/INFO switches taken as SORT keys (this is the default)
/TMPCOR Write TMPCOR file on exit (default) [- = don't]; see page 11
/UNSORTED Show files in "directory order" (see below) [- = reverse order]
/VERIFY Require verification when ⊗./⊗E does Delete/Rename [- = normal]
/WORDS File sizes to be displayed in words
Most of these switches can be overridden during the session using extended
commands, as described on page 26.
To elaborate somewhat on the /SORT and /INFO switches:
There is a class of switches called "SORT/INFO" switches, which specify fields
of file information (columns of the display). When used as SORT switches, these
keys select which fields are to be used for sorting the list of files. The
first such key is the primary sort, and is descending if "/-" is used instead of
"/". Successive sort keys denote secondary (tie-breaking) sort fields, and each
may be ascending or descending independent of the others. Meanwhile, the same
keys can be used as INFO switches, in which case they specify which fields are
to be included in the display. (A field need not be displayed in order to be
used for sorting.) "/-" indicates the field should not be displayed. The
/DISPLAY or /INFO switch says that later SORT/INFO switches are to be
interpreted as INFO switches, while the /SORT switch says that they are to be
taken as SORT switches. The default is /SORT. The /FAST and /FULL switches
imply /INFO and also exclude or include (respectively) all fields. For example,
DRD/-SIZE/FULL/-REF says to sort files by size, largest first, and to display
all fields except the date last referenced. DRD/INFO/DATE/SORT/SIZE says to
sort by size, smallest first, and display only the date last written (as well as
the name, extension, ppn, and protection, which are always displayed). The
SORT/INFO switches are listed on page 22.
The /UNSORTED switch is incompatible with all other SORT switches. If /UNSORTED
is used, the files will be listed in the same order as they appear in the
directory, and the directories (PPNs) will be ordered according to the master
file directory. (Additional PPNs read after startup may not be so ordered,
though the files within each such PPN will still be in directory order.) This
mode is useful for debugging programs that process files in directory order.
The ⊗S command can be used to override /UNSORTED later in the session, after
which you cannot go back to the unsorted display except by restarting DIRED.
DIRED's use of OPTION.TXT and macros
Switch: Meaning:
/OPTION Get default parameters and switches from OPTION.TXT
/-OPTION Ignore OPTION.TXT
/OPTION=file Get default parameters and switches from the given file
/OPTION(#) Execute #th macro from OPTION.TXT (or file from earlier switch)
/OPTION=file(#) Get defaults from given file and execute #th macro in that file
Command: Meaning:
⊗Y Re-execute default (most recently executed) macro
⊗#⊗Y Execute #th macro from current macro file
⊗0⊗Y Type current default macro # and file name
⊗-⊗Y Type text of current default macro
⊗-⊗#⊗Y Type text of #th macro from current macro file
⊗Z Read new macros from file
⊗#⊗Z Read macros from file and execute #th such macro
⊗0⊗Z Type current default macro # and file name (same as ⊗0⊗Y)
⊗-⊗Z Report number of macros available from most recently loaded file
⊗-⊗#⊗Z Type text of #th macro from current macro file (same as ⊗-⊗#⊗Y)
DIRED gets its start-up parameters from 3 sources. First, if any parameters are
given on the command line, they are used; otherwise, the parameters in TMPCOR
(if any) are used to recover the mask and switches as of your last exit from
DIRED. (The /-TMPCOR switch or extended TMPCOR command suppresses updating the
TMPCOR file upon exit, such that the parameters from the time before are
retained.) Second, DIRED looks for a line in your login-area OPTION.TXT file
starting "DIRED:"; if found, the rest of the line is parsed for file masks and
switches. OPTION.TXT items which are in the same "class" as items found in the
command line or TMPCOR are ignored; e.g., your OPTION.TXT file might say
DIRED:[*,YOU]/SORT/-DATE/FULL/-REF/V
and your command line might be DRD [FOO,BAR]/SIZE/K/FULL, in which case you'll
look at *.*[FOO,BAR] in /VERIFY mode, files sorted by size (displayed in K),
showing full info. If you just said DRD/R, you'd look at *.*[*,YOU], sorted
descending by date, showing all info except reference date, but you'd be in
/READONLY mode. Finally, DIRED applies defaults for any "class" not otherwise
specified: *.*/SORT/PPN/NAME/EXT/FULL/BLOCKS/-R/-Q/-PARANOID/TMPCOR. If your
terminal has lines shorter than 82 characters, /FULL/-COUNT is used to suppress
one field (the number of days referenced for each file).
The /-OPTION switch suppresses use of the DIRED line in OPTION.TXT. Similarly,
DRD/OPT is a way to override use of TMPCOR while continuing to use OPTION.TXT.
(DRD/TMP, strangely enough, also works to override use of TMPCOR at startup.)
Meanwhile, you may store one or more lines of "macros" in OPTION.TXT; these must
immediately follow the "DIRED:" line and each such line must start with a colon.
To invoke one or more macros, use /OPTION(#) for any positive #. The #th macro
line will be added to a pseudo-input string which is read before any commands
are requested at the terminal. In macros the character "⊗" is interpreted as
<cr>, thus permitting multi-line commands (since each macro must be on a single
line). Also, α and β are interpreted as <control> and <meta>, but only one of
each is permitted as a prefix per character, and if both are present it must be
as αβ, not βα. Hence, to xspool a file, you can use αββ, since only the first β
is taken as meaning <meta>. Line-editor commands, including α<cr>, do not work
in macros.
In general, macros are probably not as useful in DIRED as they are in E, in that
one rarely wants to perform a complex sequence of commands multiple times during
a single session. However, certain sequences of DIRED commands might be used
many times in different sessions, and might indeed form the entire session. For
example, your OPTION.TXT might look like this:
DIRED:/SORT/-DATE/V
:αSSIZE⊗αODIRED.OUT⊗αS-DATEαLαββαβD
Then the system command DRD/OPT(1), followed by αE to exit, would xspool (and
delete) a listing of the files on your alias directory, sorted by size. Note
the trick of sorting by date, most recent first, in order to find the newly
written DIRED.OUT file. This won't work if the DIRED.OUT file is being written
in a different (undisplayed) directory, which would be the case if you said DRD
[FOO,BAR]/OPT(1). A safer way, albeit more complicated, which works in all
cases, would be the macro shown below (assume your LOGIN area is [X,Y]).
:αSSIZE⊗αODIRED.OUT[X,Y]⊗αβM+DIRED.OUT[X,Y]⊗αLαFDIRED.OUT[X,Y]⊗αββαβD
For compatibility with other programs which read OPTION.TXT files, DIRED permits
semicolons on the ends of its OPTION.TXT lines. The semicolons are ignored.
The /OPTION switch can also specify a file to be used in place of OPTION.TXT.
The format for this is /OPTION=FILE or /OPTION=FILE(#). The default file is
OPTION.TXT on your login PPN; /OPTION=[FOO,BAR] would use OPTION.TXT[FOO,BAR],
etc. You may invoke macros from more than one file this way. The last file
specified in a /OPTION switch is used in place of OPTION.TXT for determining
default parameters; if you want to read macros from other files but still use
OPTION.TXT for default parameters, follow your last /OPT(#) switch with /OPT=*
to restore OPTION.TXT as the most recently read file.
*** Invoking macros after starting up
Besides /OPTION(#) to invoke macros during initialisation, there are commands
to invoke macros later in the editing session. These are summarised at the top
of this page; herewith some elaboration.
The ⊗Y command is used to execute macros from the most recently loaded macro
file. Initially, this file is OPTION.TXT on your login PPN, unless you've
overridden this via the /OPTION=file switch or /-OPTION switch. The ⊗Z command
asks for a file name to read in, which is parsed for macros in OPTION.TXT format
(i.e., looking first for a line beginning "DIRED:", followed by lines beginning
with colons). Typing α<cr> after the ⊗Z will load the line editor with the name
of the most recently read macro file. The default file name is again OPTION.TXT
on your login PPN, regardless of the current macro file.
The arguments to ⊗Y are: No argument means re-execute the most recently
executed macro. Macros executed via /OPTION(#) switches at startup don't count.
A positive argument means execute the specified macro from the current file. A
negative argument prints the text of the specified macro (or the most recently
executed macro if no explicit number is given). A zero argument prints the
number of the current macro and the file from which it came, as well as the
number of macros loaded from that file.
The arguments to ⊗Z are analogous: No argument means read a new file but don't
execute any macro from it. A positive argument means read a new file and
execute the specified macro in it. Negative and zero arguments do not read a
new file at all, and are equivalent to their ⊗Y counterparts, except that ⊗-⊗Z
(with no numeric argument) simply reports the number of macros read from the
current file, but not the text of the most recently executed macro.
NOTE: The ⊗Y and ⊗Z commands are not allowed from within macros.
Window/cursor-moving commands
(Same as in the E editor; hence described here only very briefly.)
1 file: 4 files: 1/2 Screen: Window: To top/bottom:
To move down: <cr> ⊗> ⊗≥ ⊗W or <ff> (↑L) ⊗∨
To move up: <bs> ⊗< ⊗≤ <vt> (↑K) ⊗∧
⊗T glitches window down 4 files at the top, ⊗B up from the bottom. These and
above commands allow optional preceding ⊗#, ⊗+, and ⊗-, to do command (inverse
if ⊗-) # times. ⊗#⊗∨ and ⊗#⊗∧ go to #th file from bottom/top, or center if #=0.
⊗0⊗W, ⊗0<ff>, and ⊗0<vt> move arrow to current bottom/top file and center it.
⊗J jumps arrow file to top of window; ⊗-⊗J jumps to bottom, ⊗0⊗J to center;
⊗#⊗J jumps arrow up # files; ⊗-⊗#⊗J jumps down.
⊗L goes to first file of current page, ⊗#⊗L goes to #th file, ⊗<sign>⊗#⊗L goes
to #th file before/after current one.
If you are in file-display mode (as described on page 16), the commands ⊗<ff>
and ⊗<vt>, if given with no numeric arguments, work as in E to move to the next
or previous page of the file if the bottom/top is visible in the window when you
give the command.
Page-changing commands
Note: These commands work significantly differently if you are displaying a page
of a file. See page 16 for details.
Command: Meaning:
⊗P Go to page specified by next char, put arrow at "most reasonable" file
⊗#⊗P Go to page specified by next char, put arrow at #th file
⊗0⊗P Return to position of last NON-page command on another page
⊗+⊗P Go to "most reasonable" file on "next" page (order is N,D,R,L,X,P,H,N)
⊗+⊗#⊗P Go to #th file on next page
⊗+⊗0⊗P Go to most recent position on next page
⊗-⊗P, ⊗-⊗#⊗P, ⊗-⊗0⊗P Same as ⊗+ except go to "preceding" page
The character specifying the page must be one of N(ormal), D(elete), R(ename),
L(spool), X(spool), P(ress) or H(arvest). There is no "Invisible" page; page 18
of this documentation explains about that. If you type "?" after the ⊗P you'll
be reminded of the page names.
By "most reasonable" file is meant either (a) the file most recently added to
the page, or (b) if you have been on that page since the last time a file was
added to it, then the most recent position. Thus, if you have just deleted a
number of files, typing ⊗PD (or ⊗P⊗D, α and β are ignored on the page selection
character) will take you to the Delete page and position you at the last file
you deleted. If you then move around on the Delete page (using the commands
shown on page 12 of this documentation), go to the Normal page, and return
to the Delete page, the arrow will be placed wherever it was when you left the
Delete page. If you explicitly want to return to the most recent position on
a page even though more files have since been added to that page, you can use
the ⊗0⊗P (or ⊗+⊗0⊗P/⊗-⊗0⊗P) command. If you explicitly want to be at the top
or bottom of the page you're switching to, use ⊗1⊗P or ⊗∞⊗P.
The ⊗0⊗P command is generally useful for switching back and forth between two
pages. You can also use it to get back to where you were if you've just done a
series of ⊗P commands to look at the various pages.
Note that the Normal and Delete pages are "adjacent"; you can use ⊗+⊗P and ⊗-⊗P
to go back and forth between them. The Harvest and Normal pages are likewise
adjacent.
If you're currently displaying a file (in particular, if you're looking at this
documentation file via ⊗?), you have to get back to the directory display (via
⊗0⊗P or αH) before you can do a ⊗PD or whatever to change directory pages.
Directory-editing commands (apply to SINGLE FILE by default; see page 15)
Command: Meaning: Command: Meaning:
αβD Delete ⊗β Xspool
⊗R Rename ⊗} Press (Dover spool)
⊗π Change protection ⊗C Cancel all actions (if on Normal page)
⊗↔ Lspool or this page's action (if not)
That's a real beta for Xspool, not ⊗<meta>! Beta is <top>X on Datadisc/III
keyboards; ↔ is <top>L; } is <top>P. DM users are probably happier using the
equivalent extended commands (⊗1⊗X XSPOOL, ⊗1⊗X LSPOOL, and ⊗1⊗X PRESS).
Reaping and unreaping are available ONLY via extended commands; see page 27.
The ⊗R and ⊗π commands request a new name or protection; if you type just <cr>
the default is to use the same name/protection you gave last time. ⊗0⊗R and
⊗0⊗π display the default without affecting any files. When the name/protection
is requested, α<cr> will load line-editor with current data. Wildcard chars in
the new name (∃ not allowed) leaves those chars unchanged. In particular,
⊗R.XXX<cr> changes just the extension (to .XXX) without affecting the filename,
and ⊗R[FOO<cr> changes just the project half of the PPN without affecting the
filename, extension, or the rest of the PPN. The new protection may include a
sign, in which case the specified bits are turned on or off without affecting
other bits. E.g., ⊗π+400<cr> sets the "don't dump" protection bit.
To elaborate slightly on the ⊗C command: If given while on the Normal page, it
cancels all actions pending on the selected file (i.e., unspools and unrenames
it, and undoes any pending reap/unreap commands). On any other page, only the
action associated with that page is cancelled. Note that, if a file is both
Deleted and Xspooled (say), you can't cancel both actions with a single ⊗C
command, since the file does not appear on the Normal page. The extended CANCEL
command is able to cancel both actions at once; type ⊗2⊗7⊗? for details on this
and other extended directory-editing commands.
To see what files have been marked for deletion or for some other action, use
the page-changing commands described on page 13.
The αβD command will override any extended REAP or UNREAP commands applied to
the file(s) involved. A file marked for deletion cannot be reaped or unreaped
without first cancelling the deletion.
Note that there is nothing wrong with giving a αβD command on the Delete page,
or a ⊗β command on the Xspool page, etc.; the command simply has no effect.
However, there is a useful trick involving such apparently redundant commands.
If you have a file which is both Xspooled and Deleted (say), and you want to
cancel both actions, you COULD go to the Delete page, find the file, type ⊗C,
then go to the Xspool page, find the file again, and type another ⊗C. But if,
before cancelling the deletion, you type ⊗β, then when you type ⊗PX to go to the
Xspool page you will be positioned at the file automatically, because it will be
the most recently Xspooled file. Of course, if you're currently on the Normal
page, ⊗X CANCEL <filename> is even simpler, but this would also cancel all other
actions on the file, such as a Rename request.
Numeric arguments to αβD, etc.
The directory-editing commands described on page 14 accept optionally-signed
numeric arguments, which are interpreted as in the E editor, to wit:
⊗# operate on # files starting with current (arrow) file
⊗- operate on preceding file
⊗-⊗# operate on # files backward starting with preceding file
The default is, of course, to operate on only the current (arrow) file. Thus,
for example, ⊗-αβD deletes the file above the arrow, and ⊗∞⊗↔ lspools all files
from the arrow through the end of the page.
Recall that, if a command is aborted while in progress (e.g., if you respond
<alt> when asked about deleting a protected file), files already processed by
the command are not restored to their prior state.
The equivalent extended commands (page 27) accept these same numeric args, but
default to operating on the whole page. Thus ⊗X XSPOOL *.SAI spools all files
whose extensions are .SAI, and ⊗9⊗X XSPOOL *.SAI spools any such files which are
among the nine files starting at the arrow (NOT the next 9 such files). If you
give no numeric argument and no file specification to one of these extended
commands, you'll be asked to confirm performing the action on all files on the
page. Typing Y confirms, N causes DIRED to assume a numeric argument of 1, and
<alt> aborts entirely. ⊗X CANCEL requires no such confirmation.
Since there are no single-character commands for doing reaps and unreaps, the
extended REAP and UNREAP commands do not default to operating on the whole page.
Thus ⊗X REAP will reap only the current file. If you specify a filemask,
however, it is applied to the entire page (assuming no numeric argument is
given); thus ⊗X REAP * will reap all files on the current page.
⊗X CANCEL, when given while on the Normal page, has the effect of undoing all
actions on ALL visible files, even files not on that page (i.e., deleted files).
Note that this is not true of the ⊗C command. ⊗X CANCEL has no effect on
invisible files (see page 18).
File-displaying/editing commands
The following commands are provided for looking at and editing individual files:
Command: Meaning:
⊗#⊗∃ Display page # of current (arrow) file
⊗#⊗? Display #th page of documentation (this file)
⊗#⊗ε Switch to E editor, editing #th page of current file in READWRITE mode
⊗#⊗λ Switch to E editor, editing #th page of current file in READONLY mode
When you display a page of a file using ⊗∃ or ⊗? (or extended EXAMINE/HELP), you
are in a special mode. You can still use the window/cursor-moving commands
described on page 12; they will move you around on the displayed page so that
you can see more than one window's worth of text. (Text is, however, truncated
to 1000 lines per page.) Furthermore, the ⊗P commands DON'T work as described
on page 13; they work as in E. That is, ⊗P displays the next page of the file,
⊗#⊗P displays the #th page, ⊗-⊗P displays the previous page, etc. The commands
⊗<ff> and ⊗<vt> (as opposed to <ff> and <vt> without bucky-bits) also work as in
E to change pages if the bottom/top of the current page is in the window and no
numeric argument is given to the commands.
Directory operations (αβD, αβM, ⊗O, etc.) are illegal in file-display mode. To
get out of this mode, returning to the directory display, give the command ⊗0⊗P
(the DIRED command for returning to an earlier page) or αH (the E command for
returning from a file). This is the ONLY way (short of exiting) to get out of
file-display mode; the ⊗V commands merely refresh the file display.
The default page # in all of the commands is page 1, except that if you are
already displaying a file, the default is the current page number. Also, when
displaying a file, the ⊗∃, ⊗ε, and ⊗λ commands will examine/edit the file being
displayed instead of the current arrow file in the directory display. (Thus, if
you are looking at a file via ⊗∃ and are on, say, page 17, the ⊗ε command will
swap to E editing page 17 of that file. It will even leave the cursor at the
same line on the page. As a special case, if you give a ⊗λ or ⊗ε command with
no sign or argument, and are NOT already in file-display mode, you will end up
on the same page that you would if you did an ETV command for that file, i.e.,
page 1 unless it is a 2-page file with page 1 being an E directory, in which
case you end up on page 2.) The commands may also be prefaced with ⊗- or ⊗+ to
select the #th page relative to that being displayed. The ⊗? command is
permitted in file-display mode, and switches to this documentation, still in
file-display mode.
If the file being displayed has an E directory, it is used to make accessing the
file more efficient. If the directory is found to be invalid, DIRED will report
the fact and will discard it. For files without E directories, DIRED creates a
temporary one as the file is read, making later page-changing more efficient as
long as you don't leave file-display mode or change to a new file (when you do
either of these things the information is discarded).
As in E, DIRED's file display includes a header and a trailer. The header
contains stars if the window starts at the top of the page, else it contains
dots and also the line number of the first line in the window. Similarly, the
trailer includes stars if the window includes the last line of the page (or of
the truncated page if the page was over 1000 lines long) and dots otherwise, and
also includes the position of the arrow and the total number of lines on the
page. The header line also indicates what actions, if any, are pending for the
file being displayed, including the "old" name if a Rename is pending.
Since the ⊗ε and ⊗λ commands exit from DIRED, they first perform all pending
actions. See page 24 for details on this process. To return from E after a ⊗ε
or ⊗λ command, use the E command: ⊗X DRD.
Wildcard file specifications
Whenever DIRED expects a file name as input from the user (e.g., in the command
line or an extended directory-editing command), these special mappings apply:
↓ used to "quote" otherwise illegal chars (non-letter, non-digit, non-$)
_ equivalent to ↓ ↓, i.e., a quoted space
∀ matches any single character
? equivalent to ∀
∃ matches any single non-blank character
* pads with ∀ to end of field (pad to right for name/extension, left for PPN)
Note that * is permitted only at one end of a field: the right end for name/ext
and the left for either half of the PPN. The default name and extension is *;
the default PPN varies depending on where the file specification is used.
Examples:
????.∃∃ matches any file with at most 4 characters in its name and
EXACTLY 2 in its extension
MUMBLE same as MUMBLE.*; i.e., files with name MUMBLE and any extension
MUMBLE. files with name MUMBLE and NO extension
.FOO all files with extension FOO
. all files which have NO extension
X*.BAR[*S,BAZ] is the same as X?????.BAR[??S,BAZ]
___FOO.MSG[2,2] is FOO's mail file
File masks and invisible files
When DIRED is started up, you give it a "mask" which selects directories (PPNs)
and files within those directories. (See page 9 for more about this.) DIRED
displays only the selected files from the selected PPNs. However, the info on
all other files in the selected PPNs is also obtained to check for possible
Rename conflicts. These files, not shown on any page, are called "invisible".
Changing the file/PPN mask may cause visible files to become invisible or vice
versa, as well as possibly adding more visible or invisible files. Directory-
editing commands, including ⊗X CANCEL, NEVER affect invisible files.
Once obtained, the information on a file is almost never forgotten (until you
exit DIRED, e.g. to E). If you change directories often, you will build up a
sizable list of invisible files. If a mask change (αβM) or Hide command (αβH)
leaves any files invisible on which actions (deletion, spooling, etc.) are
pending, the "I" flag will be displayed in the header line. If an invisible
file is involved in a Rename conflict, "I?" will be displayed.
When you rename a file and change its PPN, the directory for the new PPN is read
(if it hasn't been already) in order to check for a conflict. The files in the
new directory are all initially invisible.
There are two circumstances under which DIRED discards directory information
from core without actually exiting. One is when you use the αβM (or extended
MASK) command to change the device name (see page 20). Since you're about
to be looking at another device entirely, all information pertaining to the
current device's directories is discarded, after first running the action lists.
The second case is when you explicitly tell DIRED to reread the directory
information from the disk; this is done with the extended REREAD command.
REREAD is intended for use in 2 situations: (1) You've been looking at several
directories, a few at a time, and you're running out of core because all the
ones you've looked at are kept in core (as invisible files) even if no longer
included in the mask. REREAD will discard all this excess data and do a garbage
collection. (2) Some other program has changed the files in a directory (or the
protection on one that you tried unsuccessfully to read) and you want DIRED to
reread the directory to get the new information (or to try again to read the
directory, which it will normally refuse to do after failing once). Note that
REREAD takes no argument -- it is not possible to reread the directory
information for a subset of the files.
Visibility-related commands (see page 18 for a discussion of invisibility)
Command: Meaning:
αβH Hide file (make invisible)
αI Display only previously invisible files with actions pending
αβI Display only previously invisible files, active or not
⊗+αI Display invisible actions in addition to current lists
⊗+αβI Display all invisible files in addition to current lists
The αβH command accepts a numeric argument, interpreted the same as for αβD and
the other directory-editing commands (see page 15). αI and αβI do not permit
numeric arguments, though they accept ⊗+ as noted above. (They also accept, and
ignore, ⊗-.)
To undo the effects of these commands, you can use αβM <cr> to reinforce the
current mask, though this may cause some renamed files to vanish. (See page 20
for information on the αβM command.)
Thus, for instance, if you want to select a set of files whose names you'd like
to put into a file via the ⊗O command, you could start off looking at *.* on the
directories of interest, use αβH to hide the files you're interested in, then
use αβI to invert the visibility of all files. This would leave you looking at
just the files you'd previously hidden, and you could now do your ⊗O command.
Another typical application would be when you have created a new version of some
file, such as a program on [1,3]. The file is in your area, and you use the ⊗R
command to rename it to [1,3]. Assuming you hadn't already included [1,3] in
the mask, DIRED would go off and read that directory, find the older version of
the file, and report a Rename conflict. It would display a "?" in the R column
of the display, and would put "I?" in the header to indicate that an invisible
file (the one on [1,3]) was involved in a conflict. You could then do ⊗+αI to
add the conflicting file to the display so you could delete it. (It would show
up at the very bottom, but you could do ⊗S <cr> to put it in its proper place.)
Or you could do αI to see just the file on [1,3].
The extended form of the Hide command lets you specify that only reaped or only
non-reaped files are to be affected. See page 28 for further details.
WARNING!! These commands can be quite powerful for certain applications, as in
the preceding paragraphs, but it's also quite easy to get completely confused if
you use them without any clear idea as to what they do. This is especially true
of the extended forms when you include a wildcard file specification. If you
get lost, use αβM <cr> to restore visibility based on the current mask.
Mask-changing command (see page 18 for a discussion of invisibility)
Command: Meaning:
⊗0αβM Print current file mask (same as in the trailer, but never truncated)
αβM Enter new file mask (or modify existing one; see below)
When you type αβM, DIRED will prompt "Mask?". Typing α<cr> will load the line
editor with the current mask (omitting the device name).
Entering +<filespec> adds the file/PPN to the mask; -<filespec> removes it (it
must currently be in the mask). The sign is sticky; if the first spec is
unsigned, the old mask is flushed and + is assumed. For example, suppose the
current mask is "*.FAI[X,Y],*.*[1,3],*.*[UP,DOC]".
If you type: The new mask will be:
αβM [S,DOC],[1,3] <cr> *.*[S,DOC],*.*[1,3]
αβM +[S,DOC],[1,3] <cr> *.FAI[X,Y],*.*[1,3],*.*[UP,DOC],*.*[S,DOC]
αβM +[S,DOC],-*.FAI[X,Y],[1,3] <cr> *.*[UP,DOC],*.*[S,DOC]
After the input, the visibility of ALL files is reevaluated; hence a null input
simply "reinforces" the mask, undoing earlier αβH/⊗I commands. If ⊗- or ⊗+
precedes αβM, it is equivalent to prefixing - or + to the input string. E.g.,
⊗-αβM α<cr> <cr> will flush the entire mask.
If a file is renamed and the new name does not match any specification of the
file mask, the file will continue to be displayed until such time as a new αβM
command is given (αβM <cr> suffices). At that point the file's visibility will
be reevaluated and the file will become invisible (and the "I" flag will appear
in the header, if it wasn't already there).
If the first filespec you give is unsigned (i.e., it is not preceded by a + or -
and neither is the αβM), then it may include a device name. If the device is
different from that currently being displayed, the action lists will have to be
run (see page 24). You will be asked to confirm doing so.
Sort command (⊗S)
The ⊗S command is used to specify a new set of sort keys. ⊗0⊗S will print the
current keys (same as in the trailer but never truncated). ⊗S will cause DIRED
to prompt "By", whereupon you should enter the new keys. Typing α<cr> will load
the line editor with the current keys. A null input leaves the keys unchanged,
but the display is freshly sorted (files may have gotten out of sorted order via
⊗R commands, since a file is not moved when renamed). The arrow stays at the
current file, though the context surrounding that file may shift drastically.
Sort keys may be preceded by slashes (optional) and are separated by spaces,
commas, or the slashes. If a sort key is preceded by a sign (following the
slash if present), then the field will be descending (if -) or ascending (if +,
the default). The special key REV inverts the direction of all keys. ⊗S REV
will reverse the current sort. (The command ⊗X REV also does this.)
The sort keys are listed on page 22 of this documentation.
For example, ⊗S /SIZE/-DATE/REV <cr> is the same as ⊗S /-SIZE/+DATE <cr>, and
says to sort the files by size, largest first, and to sort equal-size files by
the dates and times when they were written, oldest first.
Sort/info keys (+/- = ascending/descending sort or add/omit info field)
Key name: Field:
ALPHA Same as NAME
COUNT Number of days referenced since last written
DART Dump status (see below)
DATE Date/time last written (to the nearest 1/15 second)
DUMPED Same as DART
EXTENSION File extension (the part of the name which follows the ".")
FILENAME Same as NAME
NAME File name (name only, not extension)
PCT Percentage of days referenced since last written
PERCENT Same as PCT
PPN File PPN, sorted on programmer name first, project second
PROTECTION File protection
REFERENCED Date of last reference
REVERSED Special key, usually abbreviated REV (see page 21)
SIZE File size (in words for sorting purposes)
USING Program last used to write the file
WRITER PPN of person who last wrote file, sorted on programmer name first
The DART (or DUMPED) key sorts files by the following criteria: First, files
that have been dumped on permanent Dart tapes, with files which have been dumped
more often being listed first. Next, files which have only been dumped on
temporary tapes, and finally files which have not been dumped at all. Files
dumped an equal number of times are sorted according to the date when they were
last dumped; files which still tie are sub-sorted with files marked for reaping
coming after those that aren't. /-DART sorts undumped files first.
In the display for the "Dumped" field, a "T" indicates the file has been dumped
on a temporary tape (but not on a permanent tape), and a "P" indicates the file
has been permanently dumped. The digit following the T or P indicates how many
times the file has been dumped on a permanent tape (always 0 after a T). An "R"
in place of the T or P (or in place of nothing at all) indicates the file is
marked for reaping (that is, it will be included in the next permanent dump and
will be deleted after having been dumped at least twice); the number will still
be there to indicate how many times the file has been permanently dumped so far.
The reference count used for the COUNT field has been maintained only starting
May 21, 1979, and thus refers only to the number of days referenced since then.
Similarly, the PCT field refers to the percentage of days referenced since then.
A percentage of 100 is displayed (and sorted) as 99 in order to save a column.
If the file was last written "today" (the day you read that ufd), the PCT column
will be empty.
String-search commands
Command: Meaning:
⊗F Find next file matching given filespec
⊗-⊗F Find preceding file matching given filespec
⊗* Repeat last search, looking for later file
⊗-⊗* Repeat last search, looking for earlier file
⊗0⊗* Print current search mask
Eventually DIRED should have commands which let you search for arbitrary text
occurring in any of the info fields being displayed. For now, however, there
are a few commands for searching just the file name, extension, and ppn fields.
The basic command is ⊗F<filespec><cr>, which searches for the next file in the
list which matches the (possibly wildcard) filespec. The current (arrow) file
is not counted. E.g., ⊗F.SAI<cr> moves you to the next file with extension SAI.
If there is no such file, an error is printed and the cursor is not moved.
Either of the commands ⊗* and ⊗F<cr> searches for the same filespec as the
previous ⊗F command. The commands ⊗0⊗* and ⊗0⊗F print this "default" filespec
without actually performing a search. ⊗Fα<cr> loads the filespec into the line
editor for you to modify, then searches for the modified name.
Any of these commands (except ⊗0⊗* and ⊗0⊗F) accept a preceding numeric argument
and search for the #th file, starting with the file after the arrow, which
matches the spec. If too few files are found, the cursor is not moved. The
commands also accept a preceding ⊗-, which causes the search to be performed
towards the top of the page starting with the file above the arrow.
For future use, the commands ⊗X EXACT and ⊗-⊗X EXACT control whether exact case
matching is required. They have no effect on the current search commands.
**NOTE**: The extended commands F and FIND (as in E) are *NOT* implemented.
Exiting and doing actions
Command: Meaning:
⊗E Do all pending actions, then exit (after exit, CONTINUE will proceed)
⊗. Run action lists
Note also the extended command ⊗X QUIT, which exits WITHOUT doing any actions.
See page 29.
If you exit with ⊗E (as opposed to ⊗ε or ⊗λ), typing CONTINUE to the system will
proceed back into DIRED as though you had never left, except that the actions
will have been performed.
If ⊗. is given an argument as described on page 15, only the specified files
have their actions done. If you're on the Normal or Delete page, all actions
are done for each affected file. (It wouldn't make much sense to just do the
deletion and leave the spooling for later.) On other pages only the action
associated with that page is done.
If ⊗. is NOT given an argument and you're on the Normal page, then all actions
(INCLUDING DELETIONS) for all visible files are done. On any other page, all
files on that page, and no others, are affected and only that page's action is
done, except that on the Delete page the deleted files are spooled as required.
⊗E, ⊗ε and ⊗λ (see page 16), and αβM if changing devices (see page 20) always do
all actions on all files, INCLUDING INVISIBLE ONES. This is the only way, other
than the commands described on pages 19 and 20, to affect invisible files.
If one or more actions fail to be performed (e.g., if a rename fails due to a
new file having been created by another job), DIRED will ask you to confirm
exiting. Typing anything but "Y" will abort, leaving you in DIRED.
*** Rename conflicts, and READONLY, VERIFY, and PARANOID modes:
Before doing ANY actions, DIRED checks ALL actions about to be done. If they
include a Rename conflict (two files ending up with the same name), the ⊗E or ⊗.
command is aborted. Note that it is possible for a ⊗. command to result in a
Rename conflict even though there are no such conflicts displayed (i.e., neither
"R?" nor "I?" appears in the header line). For instance, you might have asked
for file A to be renamed B, and file B be renamed A, and then do a ⊗1⊗. to do
only one of the actions. DIRED will catch this and abort the command. If you
were to request both actions be done via a single command (e.g., ⊗E), DIRED
would do so. (And you wouldn't believe the machinations it sometimes requires!)
If a Rename or Delete is included and you're in /R (readonly) mode, you'll be
asked to confirm by saying READONLY (don't do Rename/Deletes), READWRITE (do
them and leave /R mode), or <alt> to abort the command. In /V (verify) mode,
you'll also be asked for confirmation, but "Y" is enough, and you're left in /V
mode. In either case, if you don't confirm (and don't abort), the Renames and
Deletions will be left undone and will remain in the action lists (unless you
exit and run another program, such as via a ⊗ε or ⊗λ command). Readonly mode
and Verify mode are mutually exclusive and are selected via the /R and /V
start-up switches (see page 10) and by the extended commands on page 29.
Independent of all this, PARANOID mode causes ⊗. (and the action-related portion
of ⊗E) to be equivalent to ⊗X CANCEL. It essentially means, "Don't under any
circumstances DO any of these actions! I just want to practice using DIRED!"
This mode is invoked by the /PARANOID start-up switch or ⊗X PARANOID command.
Miscellaneous commands
Command: Meaning:
⊗O Send current page to file (and add file to display if appropriate)
⊗U Undo most recent directory-editing command (not yet implemented)
αV Redraw screen (without clearing)
αβV Clear and then redraw screen
⊗X or / Enter extended command (type ⊗2⊗6⊗? for a list of extended commands)
⊗O asks for a file name, which may be preceded or followed by switches:
/QUIET suppresses question if WRT privilege needed to write file;
also suppresses confirmation if overwriting existing file
/ALL causes DSR field to be included
/FOONLY gives foonly-format file
(Foonly-format is a list of file names suitable for use as input to another
program, such as DART or COPY, via the latter's at-sign feature. It is similar
to the /FOO switch in COPY.) The file name may include a device, which need not
match that in the filemask. α<cr> loads a default name of DSK:DIRED.OUT. No
warning is given if the file overwrites an existing one. If this happens, any
actions pending on the old file will be copied to apply to the new one instead.
If the ⊗O file is newly created (as opposed to overwriting an existing file) and
is included in the current file mask, it will be added to the display, but at
the BOTTOM of the list. You can get it into its proper position via an explicit
⊗S<cr> command if you wish.
The ⊗U command is not yet implemented.
The ⊗V commands are useful for refreshing the screen if the display screws up.
After typing ⊗X or /, typing α<cr> will load the line editor with the most
recent extended command.
Extended commands (entered via the ⊗X or / command)
Many extended commands are just more general forms of single-character commands.
Type ⊗2⊗7⊗? for info on extended directory-editing and file-displaying commands,
⊗2⊗8⊗? for extended forms of other one-char commands, ⊗2⊗9⊗? for other extended
commands. For quick reference, here's a list of all extended commands, with
page numbers indicating where in this documentation they are described:
27 ABORT 29 EXACT 29 INFO 29 PARANOID 28 SORT
27 CANCEL 27 EXAMINE 28 INVERT 27 PI 27 SPOOL
30 CONTROL ?? F 28 INVISIBLE 27 PRESS 30 TITLES
27 DELETE 29 FAST 27 LAMBDA 27 PROTECTION 29 TMPCOR
29 DISPLAY ?? FIND 27 LOOKUP 29 QUIT 30 TRAILER
27 DOVER 29 FONT 27 LSPOOL 29 READONLY 30 TYPE
29 DPYALWAYS 28 FOONLY 28 MASK 29 READWRITE ?? UNDELETE
29 DPYSKIP 29 FULL 30 METACONTROL 27 REAP ?? UNDO
28 DRAW 30 HEADER 27 NEWS 27 RENAME 27 UNREAP
27 EDIT 29 HEIGHT 30 NUMBERS 29 REREAD 29 VERIFY
27 ENTER 27 HELP 28 OUTPUT 28 REVERSED 27 XSPOOL
27 EPSILON 28 HIDE
(?? = unavailable)
Extended directory-editing and file-displaying commands (see pages 14 and 16)
These extended commands are identical to single-char commands as listed below,
except they accept a filespec and/or switches. The filespec can be wildcard
except for the extended forms of ⊗ε, ⊗λ, and ⊗∃. (HELP and NEWS ignore any
filename.) The filespec only RESTRICTS the range of files: ⊗5⊗X DEL X[*,BAR]
deletes, from among the next 5 files, any named X.*[*,BAR], NOT the next 5 such
files.
The REAP and UNREAP commands do not have single-character equivalents. The REAP
command requests that the bit be turned on that tells the DART program to delete
the file after the next P-dump if the file has then been dumped at least twice;
the UNREAP command requests that the bit be turned off. If the bit does not
currently have the requested state, the file is flagged with either an "r" or a
"u" in the D column of the screen, the Dart info field is modified (if it's
being displayed at all), and the file is placed on the Harvest page. A REAP
(UNREAP) command can be cancelled by the ⊗C or ⊗X CANCEL commands as usual, or
by a corresponding UNREAP (REAP) command. A file that is currently marked for
deletion cannot be reaped or unreaped until the deletion is cancelled; a file
currently marked for reaping or unreaping can be deleted, implicitly cancelling
the reap or unreap request.
NOTE: Unlike with the single-char forms, the default numeric argument on the
extended editing commands is to do the ENTIRE PAGE. (This is not the case with
REAP or UNREAP unless you specify a filespec; thus ⊗X REAP will reap one file,
but ⊗X REAP * reaps all files on the page. ⊗X DELETE would, however, delete all
files on the page (after verifying this was indeed your intention), since if you
really wanted to delete only one file you could use αβD.) Also, ⊗X CANCEL (and
⊗X ABORT) on the Normal page cancels deletions as well. Hence ⊗X XSP FROG will
spool all files on this page with name FROG.*[*,*]. See page 15 for a
review of the interpretation of numeric arguments.
The extended RENAME, PI, and PROTECTION commands take <newspec>←<filespec>; for
example, ⊗X RENAME *.SAI←*.FAI[*,FOO] or ⊗X PROT +400←.DMP. The default
<newspec> is that printed by ⊗0⊗R or ⊗0⊗π.
The extended forms of ⊗ε, ⊗λ, and ⊗∃ permit a device in their filespecs; the
device need not match that of the filemask.
The /QUIET switch is accepted by all of these commands except ones corresponding
to ⊗C, ⊗ε, or ⊗λ; it suppresses queries on overriding protection where possible.
Here is a table showing the extended commands and the equivalent one-char forms.
ABORT = ⊗C EPSILON = ⊗ε LSPOOL = ⊗↔ REAP = none
CANCEL = ⊗C EXAMINE = ⊗∃ NEWS = ⊗4⊗? RENAME = ⊗R
DELETE =αβD HELP = ⊗? PI = ⊗π SPOOL = ⊗↔
DOVER = ⊗} LAMBDA = ⊗λ PRESS = ⊗} UNREAP = none
EDIT = ⊗ε LOOKUP = ⊗λ PROTECTION = ⊗π XSPOOL = ⊗β
ENTER = ⊗ε
Extended forms of miscellaneous one-character commands
Where the one(βxaracter form of these commands makes a distinction between α and
αβ, the same distinction is made between αX and αβX. E.g., αX DRAW = αV, while
αβX DRAW = αβV.
The HIDE and INVERT/INVISIBLE commands take filespecs as described on page 27.
HIDE also accepts a numeric argument, again as described on page 27. Further,
HIDE accepts a /REAPED or /-REAPED switch (either before or after the filespec,
if present), which specifies that only reaped or non-reaped files, respectively,
are to be affected. "Reaped files" includes files that were already so marked
when you entered DIRED, as well as files that have since been flagged via the
extended REAP command. Likewise, "non-reaped files" includes files that have
been "unreaped" during the current session, as well as files that weren't, and
still aren't, marked for reaping at all. Thus ⊗XHIDE/R hides all files that
will (eventually) be reaped, letting you see what will be left. ⊗XHIDE *.SAI/R
(or ⊗XHIDE/R *.SAI) hides all reaped SAIL files, and so forth.
OUTPUT and FOONLY take non-wild filespecs and switches as described for the ⊗O
command on page 25.
MASK and SORT take new filespecs or sort-keys; the α<cr> feature of the αβM and
⊗S commands is not available.
⊗X DRAW = ⊗V (redraw the screen with or without clearing first); see page 25.
⊗X FOONLY = ⊗X OUTPUT (see below) but with /FOONLY switch appended.
⊗X HIDE =αβH (make files invisible); see page 19.
⊗X INVERT and ⊗X INVISIBLE = ⊗I (invert visibility); see page 19. If ⊗- or ⊗+
precedes the ⊗X, the sign is treated as for ⊗I. These two extended
commands are equivalent, and either may be abbreviated ⊗X INV.
⊗X MASK =αβM (change or reinforce mask); see page 20.
⊗X OUTPUT = ⊗O (output to file); see page 25.
⊗X REVERSED= ⊗S REVERSED <cr> (reverse order of sorting); see page 21.
⊗X SORT = ⊗S (specify new sort keys); see pages 21 and 22.
Miscellaneous extended commands (see also non-display commands on page 30)
Flag-Setting Commands:
Several extended commands merely set or clear various flags which affect later
actions of DIRED. Most of these commands simply set their flag the way they
want it regardless of the argument, if any, preceding the ⊗X. The EXACT,
PARANOID, and TMPCOR commands, however, set their flags if given a positive (or
unsigned or absent) argument, clear them if given a negative argument, and
display their current state (without changing) if given a (possibly signed)
argument of zero.
Command: Effect:
DPYALWAYS Update the display after every command
DPYSKIP Only update the display when no typeahead (this is the default)
EXACT Set/clear/display "exact-case" search flag (see page 23)
PARANOID Set/clear/display PARANOID-mode switch (see pages 10 and 24)
READONLY Disallow ⊗. (or ⊗E) performing renames/deletes (see page 24)
READWRITE Allow renames/deletes
TMPCOR Set/clear write-TMPCOR-on-exit switch (see pages 10 and 11)
VERIFY Require confirmation before performing renames/deletes (see page 24)
Display-Related Commands:
⊗X DISPLAY or ⊗X INFO lets you add/remove info fields from the display. They
take a string of info switches (see page 22) with optional signs; - to remove
field from display, + or unsigned to add it. FAST and FULL are special info
switches which turn all fields off or on. If you say ⊗X INFO <cr> (i.e., don't
give any switches), the current switches will be loaded into the line editor.
⊗X FAST and ⊗X FULL are equivalent to ⊗X INFO FAST and ⊗X INFO FULL.
⊗#⊗X HEIGHT tells DIRED to display only # lines in the window. # will be made
even and will be restricted to the range 10 to maxheight, where maxheight is the
maximum size window which will fit on your display. If the argument is omitted,
the default screen height is restored.
Other Miscellaneous Commands:
⊗X REREAD causes DIRED to throw away all the data it has read about directories
and reread the directories occurring in the current mask. If there are any
actions pending they will be performed, after confirming that you don't object.
See page 18 for details regarding when you might want to do this.
⊗#⊗X FONT <filename> causes the specified font to be used on all subsequent
Xspool or Press requests. Default extension for Xspooling is FNT; default PPN
is [XGP,SYS]. If no <filename> is given, the system default is used (note that
this differs for the two types of spooling). The numeric argument is optional;
if present, it is used as the interline spacing (XLINE parameter). If negative,
the system default spacing is used.
⊗X QUIT exits to the monitor WITHOUT running the action lists. The monitor
command CONTINUE can be used to get back into DIRED without disturbing anything.
Extended non-display commands (here "TTY" is used to mean any non-display)
The following commands may prove useful when using DIRED from a TTY:
⊗X CONTROL Make next command char have only the CONTROL (α) bit
⊗X HEADER Type out the header line (from top of window)
⊗X METACONTROL Make next command char have both META and CONTROL (αβ) bits
⊗X NUMBERS Enable or disable typing of line numbers with text
⊗X TITLES Type out the titles of the info columns (from above header)
⊗X TRAILER Type out the trailer line (from bottom of window)
⊗#⊗X TYPE Type info for # lines (and move to line after last typed; if
on TTY, type it also); default # is 10 on TTYs, 1 on displays
The NUMBERS command causes later TYPE commands to include file numbers (suitable
for use with the ⊗L command, see page 12). The command ⊗-⊗X NUMBERS turns off
the numbering feature.
The HEADER, TITLES, TRAILER, and TYPE commands accept a switch, either /ALL or
/FULL. TYPE/ALL types out all info fields selected by /INFO start-up switches
or ⊗X INFO commands; TYPE/FULL types out full info (all fields). The default on
TTYs is to type only the selected information, and only as much of it as will
fit based on your terminal width and on whether the lines are being numbered
(see above). (TYPE/ALL prints all selected fields regardless of line overflow.)
On displays the default is TYPE/FULL. The switches have the same effect on the
TITLES command; the default is again /FULL on displays and only what will fit on
non-displays. The two switches are equivalent for the TRAILER command; either
will cause the entire trailer to be typed instead of being truncated to fit the
screen. The switches are ignored with ⊗X HEADER but are allowed for generality.
The TRAILER and TYPE commands may be useful on a display, since they show full
information, whereas the display may be truncated to the screen width.
A useful OPTION.TXT macro line (see page 11) for TTY users, invoked by
DRD/OPTION(1) (for instance), is :αXTITLES⊗αXHEADER⊗α∞αXTYPE⊗αLαXTRAILER⊗
The following features are not yet implemented, but probably will be some day.
* Some form of "undelete" (and unspool, unrename, etc.) command, which will undo
the most recent n directory-editing commands.
* More general ⊗F commands. (Not ⊗\, however!)
* A "description" field a la PRUNE, probably using existing PRUNE.DAT files.
This page is rather time-consuming when displayed using DIRED's ⊗? command. It
is intended to be spooled for use as a reference. To spool it, say:
XSPOOL DIRED.DON[UP,DOC](32)
α = <control> β = <meta> ⊗ = either <control> or <control><meta>
# = any unsigned decimal number or ∞ (in "⊗#" the ⊗ applies to every digit)
******* COMMAND-LINE SWITCHES *******
Switch Meaning ("- = ..." gives meaning if /- is used instead of /)
/BLOCKS File sizes to be displayed in blocks (disk tracks)
/DISPLAY, /INFO Later SORT/INFO switches are to be taken as INFO switches
/F, /FAST Same as /INFO plus /-<all fields> [- = /FULL]
/FULL Same as /INFO plus /<all fields> [- = /FAST]
/HELP, /? Suppress /OPTION= and default filemask (*.*); display DIRED.DON
/KMODE File sizes to be displayed in K-words
/NEWS Same as /HELP but display "news" page of DIRED.DON
/OPTION Invoke/suppress OPTION.TXT (see page 11)
/PARANOID Never do any actions! (⊗. becomes ⊗X CANCEL) [- = normal state]
/QUIET Don't issue messages about unreadable directories [- = normal]
/R, /READONLY Don't perform ⊗./⊗E which would do Delete/Rename [- = normal]
/SORT SORT/INFO switches taken as SORT keys (this is the default)
/TMPCOR Write TMPCOR file on exit (default) [- = don't]; see page 11
/UNSORTED Display files in order of appearance in directory [- = reverse]
/VERIFY Require verification when ⊗./⊗E does Delete/Rename [- = normal]
/WORDS File sizes to be displayed in words
SORT/INFO switches specify the initial sort keys (if used as SORT switches) or
select info to be displayed (if INFO switches). /+key = ascending sort or add
info field = default; /-key = descending sort or omit info field.
Sort/Info Key Field
ALPHA File name (name only, not extension)
COUNT Number of days referenced since last written (or 21-May-79)
DART Dump status (sorted by # P-dumps, then T-dumps, then non-dumped)
DATE Date/time last written
DUMPED Dump status (sorted by # P-dumps, then T-dumps, then non-dumped)
EXTENSION File extension (the part of the name which follows the ".")
FILENAME File name (name only, not extension)
NAME File name (name only, not extension)
PCT Percentage of days referenced since last written (or 21-May-79)
PERCENT Percentage of days referenced since last written (or 21-May-79)
PPN File PPN, sorted on programmer name first, project second
PROTECTION File protection
REFERENCED Date of last reference
REVERSED Reverse sign of all sort keys (ignored as info key)
SIZE File size (in words for sorting purposes)
USING Program last used to write the file
WRITER PPN of who last wrote file, sorted on programmer name first
******* WILDCARD FILESPECS *******
Char Use
↓ Used to "quote" otherwise illegal chars (non-letter, non-digit, non-$)
_ Equivalent to ↓ ↓, i.e., a quoted space
∀ Matches any single character
? Equivalent to ∀
∃ Matches any single non-blank character
* Pads with ∀ to end of field (to right for name/extension, left for PPN)
******* "SHORT" COMMANDS *******
Some of these commands interpret numeric arguments as follows:
⊗$ Operate on file currently at arrow
⊗#⊗$ Operate on # files starting with current file
⊗-⊗$ Operate on preceding file
⊗-⊗#⊗$ Operate on # files preceding current file
The "⊗$" could be any of: ⊗π, ⊗β (real beta!), ⊗↔, ⊗}, ⊗C, αβD, αβH, ⊗R.
A "*" after the page number in the table below indicates the command is legal
in file-display mode.
PAGE COMMAND MEANING
7* <alt> Abort command
12* <ff> Go forward one window
12* ⊗0<ff> Go forward a half window
12* ⊗#<ff> Go forward # windows
12 ⊗<ff> Same as <ff> (in directory-display mode)
12* ⊗<ff> Go to next window, on next page if necessary (file-display only)
12* <vt> Go back one window
12* ⊗0<vt> Go back a half window
12* ⊗#<vt> Go back # windows
12 ⊗<vt> Same as <vt> (in directory-display mode)
12* ⊗<vt> Back a window, on previous page if necessary (file-display only)
12* <cr> Move arrow to next file
12* ⊗#<cr> Move arrow to #th following file
12* α<cr> Don't move arrow (no-op)
12* <bs> Move arrow up one file
12* ⊗#<bs> Move arrow to #th preceding file
12* ⊗<bs> Same as <bs>
12* β<bs> Same as <bs>
12* ⊗> Move arrow down 4 files
12* ⊗< Move arrow up 4 files
12* ⊗≥ Move arrow down half a screen
12* ⊗≤ Move arrow up half a screen
12* ⊗∧ Move arrow to top of screen
12* ⊗0⊗∧ Move arrow to middle of screen
12* ⊗#⊗∧ Move arrow to #th file from top
12* ⊗∨ Move arrow to bottom of screen
12* ⊗0⊗∨ Move arrow to middle of screen
12* ⊗#⊗∨ Move arrow to #th file from bottom
14 ⊗π#<cr> Change protection of current file to # (note: # is octal)
14 ⊗π-#<cr> Turn off protection bits which are 1's in #
14 ⊗π+#<cr> Turn on protection bits which are 1's in #
14 ⊗πα<cr> Load line-editor with current protection for changing
14 ⊗π<cr> Change protection using # from most recent ⊗π command
14 ⊗0⊗π Show current default protection value (for ⊗π<cr>)
14 ⊗β Xspool current file (note: β denotes a real beta = top-X)
14 ⊗↔ Lspool current file (↔ = top-L)
14 ⊗} Press (Dover spool) current file (} = top-P)
⊗A Unused
12* ⊗B Glitch screen up from Bottom
14 ⊗C Cancel action(s) pending for current file (all actions
cancelled if on Normal page, else just current page's)
14 αβD Delete current file
24* ⊗E Run actions (if any) and exit
23 ⊗F Find next file matching given filespec; after ⊗F, α<cr> loads
most recent search string into line-editor
23 ⊗-⊗F Find preceding file matching given filespec
⊗G Unused
16* αH Return "home" to directory display from file-display mode
19 αβH Hide current file (make it invisible)
19 αI Display only previously invisible files with pending actions
19 ⊗+αI Display invisible actions in addition to current lists
19 αβI Display only previously invisible files, active or not
19 ⊗+αβI Display all invisible files in addition to current files
12* ⊗J Jump the arrow file to the top of the screen
12* ⊗-⊗J Jump the arrow file to the bottom of the screen
12* ⊗0⊗J Jump the arrow file to the center of the screen
12* ⊗#⊗J Jump the arrow file up # files
12* ⊗-⊗#⊗J Jump the arrow file down # files
⊗K Unused
12* ⊗L Go to first file of current page
12* ⊗#⊗L Go to #th file of current page
12* ⊗+⊗#⊗L Same as ⊗#<cr>
12* ⊗-⊗#⊗L Same as ⊗#<bs>
20 αβM Change file mask (+<spec> to add spec, -<spec> to remove,
sign is sticky; first spec unsigned to replace entire mask)
20 ⊗-αβM Same as αβM but -<spec> assumed if first spec unsigned
20 ⊗+αβM Same as αβM but +<spec> assumed if first spec unsigned
20 ⊗0αβM Type current file mask
⊗N Unused
25 ⊗O Send current page to file (switches: /FOONLY, /ALL, /QUIET);
after ⊗O, α<cr> loads line-editor with "DIRED.OUT"
13 ⊗P Go to page specified by next character (N, D, R, L, or X),
put arrow at "most reasonable" file (most recently added or
most recent position, whichever is more recent)
13 ⊗0⊗P Return to position of last NON-page command on another page
13 ⊗#⊗P Go to page specified by next character, put arrow at #th file
13 ⊗+⊗P Go to "most reasonable" file on "next" page
13 ⊗+⊗0⊗P Go to most recent position on "next" page
13 ⊗+⊗#⊗P Go to #th file on "next" page
13 ⊗-⊗P Go to "most reasonable" file on "preceding" page
13 ⊗-⊗0⊗P Go to most recent position on "preceding" page
13 ⊗-⊗#⊗P Go to #th file on "preceding" page
16* ⊗P Display next page of file in file-display mode
16* ⊗+⊗P Display next page of file in file-display mode
16* ⊗+⊗#⊗P Display #th following page of file in file-display mode
16* ⊗-⊗P Display preceding page of file in file-display mode
16* ⊗-⊗#⊗P Display #th preceding page of file in file-display mode
16* ⊗0⊗P Return to directory display from file-display mode
⊗Q Unused
14 ⊗Rxxx<cr> Rename current file to xxx; wildcard fields unchanged
14 ⊗Rα<cr> Load line-editor with current name for changing
14 ⊗R<cr> Rename using "xxx" from most recent ⊗R command
14 ⊗0⊗R Show current default protection value (for ⊗R<cr>)
21 ⊗S Specify new sort keys (or re-sort using current keys); after ⊗S,
α<cr> loads current sort keys into line-editor
21 ⊗0⊗S Type current sort keys
12* ⊗T Glitch screen down fom top
25 ⊗U Reserved for Undo command
25* αV Redraw screen (without clearing)
25* αβV Clear and then redraw screen
12* ⊗W Go forward one window
12* ⊗0⊗W Go forward a half window
12* ⊗#⊗W Go forward # windows
25* ⊗X Enter extended command next (see table below); after ⊗X, α<cr>
loads most recent extended command into line-editor
11* ⊗Y Re-execute default (most recently executed) macro
11* ⊗#⊗Y Execute #th macro from current macro file
11* ⊗0⊗Y Type current default macro # and file name
11* ⊗-⊗Y Type text of current default macro
11* ⊗-⊗#⊗Y Type text of #th macro from current macro file
11* ⊗Z Read macros from given file; after ⊗Z, α<cr> loads current macro
file name into line-editor
11* ⊗#⊗Z Read macros from given file and execute #th such macro
11* ⊗0⊗Z Type current default macro # and file name (same as ⊗0⊗Y)
11* ⊗-⊗Z Report number of macros available from most recently loaded file
11* ⊗-⊗#⊗Z Type text of #th macro from current macro file (same as ⊗-⊗#⊗Z)
24 ⊗. On Normal page, do all actions on all files ON ALL PAGES
On other pages, do this page's action on all files on the page
24 ⊗#⊗. Do action(s) on # files starting with current file (all actions
if on Normal page, else just current page's)
24 ⊗-⊗#⊗. Do action(s) on # files preceding current file
16* ⊗ε Do actions & switch to E, editing current file in READWRITE mode
16* ⊗#⊗ε Same as ⊗ε but start editing at page #
16* ⊗λ Do actions & switch to E, editing current file in READONLY mode
16* ⊗#⊗λ Same as ⊗λ but start editing at page #
16* ⊗∃ Display first page of current file
16* ⊗#⊗∃ Display page # of current file
16* ⊗+⊗∃ Display next page of current file
16* ⊗+⊗#⊗∃ Display #th following page of current file
16* ⊗-⊗∃ Display preceding page of current file
16* ⊗-⊗#⊗∃ Display #th preceding page of current file
16* ⊗? Same as ⊗∃ but display DIRED.DON instead of current file
23 ⊗* Repeat last ⊗F or ⊗XFIND command, looking for later file
23 ⊗-⊗* Repeat last ⊗F or ⊗XFIND command, looking for earlier file
23 ⊗0⊗* Print current search mask
25* / Same as ⊗X
******* "EXTENDED" COMMANDS *******
Extended commands which require numeric arguments get them, as a rule, from
the ⊗# preceding the ⊗X. Extended commands which have an equivalent "short"
form generally use their numeric argument the same way the short form does,
but commands parallel to ⊗π, ⊗β (real beta!), ⊗↔, ⊗C, αβD, αβH, and ⊗R default
to operating on the entire page instead of a single file.
A "*" after the page number in the table below indicates the command is legal
in file-display mode.
Equivalent
Page ⊗X Command (if any) Meaning
27 ABORT ⊗C Same as ⊗XCANCEL (see note 1)
27 CANCEL ⊗C Cancel all actions on one or more files (like
⊗C for whole page, except if on Normal page
it cancels deletions, too) (see note 1)
30* CONTROL Make next cmd char have only the CONTROL bit
27 DELETE αβD Delete one or more files (see note 1)
29 DISPLAY Same as ⊗XINFO
27 DOVER ⊗} Spool one or more files on Dover (see note 1)
29* DPYALWAYS Update the display after every command
29* DPYSKIP Update the display only when no typeahead
28* DRAW ⊗V Update the display now
27* EDIT ⊗ε Switch to E in READWRITE mode (see note 2)
27* ENTER ⊗ε Switch to E in READWRITE mode (see note 2)
27* EPSILON ⊗ε Switch to E in READWRITE mode (see note 2)
29* EXACT Distinguish case of letters in searches
27* EXAMINE ⊗∃ Display one window's worth of text from file
(see note 2)
?? F ⊗F Search for string
29 FAST Display minimum info (special case of ⊗XINFO)
?? FIND ⊗F Search for string
29 FONT Specify xspool FONT and XLINE parms (see note 2)
28 FOONLY ⊗O Write foonly-fmt file (same as ⊗XOUTPUT/FOONLY)
(see note 2)
29 FULL Display maximum info (special case of ⊗XINFO)
30* HEADER Type out the header line (see note 3)
29* HEIGHT Set the number of lines in the display window
27* HELP ⊗? Display documentation
28 HIDE αβH Hide one or more files (see note 1); /REAPED=
hide reaped files, /-REAPED=hide non-reaped
29 INFO Modify selection of info to be displayed (if no
specs given, put current set into line-editor)
28 INV ⊗I Invert mask (show invisible files) (see note 1)
28 INVERT ⊗I Invert mask (show invisible files) (see note 1)
28 INVISIBLE ⊗I Invert mask (show invisible files) (see note 1)
27* LAMBDA ⊗λ Switch to E in READONLY mode
27* LOOKUP ⊗λ Switch to E in READONLY mode
27 LSPOOL ⊗↔ Lspool one or more files (see note 1)
28 MASK αβM Change file mask
30* METACONTROL Make next cmd char have both META & CONTROL bits
27* NEWS ⊗4⊗? Display "news" page of documentation
30* NUMBERS Enable/disable typing of line numbers with text
28 OUTPUT ⊗O Output page to file (see note 2); /FOONLY=foonly
format, /ALL=DSR included, /Q=WRTprv if needed
29* PARANOID Don't do actions under any circumstances
27 PI ⊗π Reprotect on one or more files (see note 1)
27 PRESS ⊗} Spool one or more files on Dover (see note 1)
27 PROTECTION ⊗π Reprotect on one or more files (see note 1)
29* QUIT Exit to monitor without doing actions
29* READONLY Disallow changing the directory
29* READWRITE Allow changing the directory
27 REAP Set reap bit for one or more files (see note 1)
27 RENAME ⊗R Rename one or more files (see note 1)
29 REREAP Discard all in-core data and reread directories
28 REVERSED Reverse order of sorting (same as ⊗XSORT/REV)
28 SORT ⊗S Specify sort keys or re-sort using current keys
27 SPOOL ⊗↔ Lspool one or more files (see note 1)
30* TITLES Type titles from above info columns (see note 3)
30* TMPCOR Write TMPCOR file upon exiting from DIRED
30* TRAILER Type the trailer line (see note 3)
30* TYPE Type out info for one or more files (see note 3)
?? UNDELETE ⊗U Reserved for later use
?? UNDO ⊗U Reserved for later use
27 UNREAP Zero reap bit for one or more files (see note 1)
29* VERIFY Require confirmation before changing directory
27 XSPOOL ⊗β Xspool one or more files (see note 1)
Note 1: The commands ABORT, CANCEL, DELETE, DOVER, HIDE, INV, INVERT, INVISIBLE,
LSPOOL, PI, PRESS, PROTECTION, REAP, RENAME, SPOOL, UNREAP, and XSPOOL
accept a wildcard filespec and operate only on files within the range of
the numeric arg (whole page if no arg) which match the spec. Form for
PI, PROTECTION, and RENAME is, e.g., RENAME .OLD←.SAI[FOO,BAR] or
PI +200←MUMBLE.*
Note 2: The commands EDIT, EPSILON, ENTER, EXAMINE, FONT, FOONLY, LAMBDA, LOOKUP
and OUTPUT accept a non-wild filespec that (except for FONT) may include
a device name.
Note 3: The commands HEADER, TITLES, TRAILER, and TYPE accept either of the
switches /ALL and /FULL; default is /FULL on displays and neither on
non-displays. With neither, output is restricted to currently selected
info fields and to the width of the screen. /ALL also restricts output
to the selected fields but ignores screen width, and /FULL types all
information. (/ALL=/FULL for TRAILER; neither switch affects HEADER.)